import request from '@/utils/request'

// eslint-disable-next-line camelcase
export function getArticles ({ channel_id, timestamp }) {
  return request({
    method: 'GET',
    url: '/v1_0/articles',
    params: {
      channel_id,
      timestamp
    }
  }).then(res => {
    // 过滤无效图片
    // 先映射所有的文章对象
    res.data.data.results.map(v => {
      // 判断是否有图片
      if (v.cover.type !== 0) {
        // 如果有，则将满足图片链接地址条件的过滤出来，重新赋值给 文章对象的 images 数组
        v.cover.images = v.cover.images
          .filter(v2 => v2.startsWith('http'))
          // .map(v2 => v2.replace('http://localhost:8000/', request.defaults.baseURL))
          .map(v2 => v2.replace(/http:\/\/localhost:\d{2,6}\//, request.defaults.baseURL))
      }
      // 返回这个文章对象
      return v
    })
    // /过滤无效图片

    return res
  })
}

// 搜索接口
export function search ({ page, per_page: perPage, q }) {
  return request({
    method: 'GET',
    url: '/v1_0/search',
    params: {
      page: page,
      per_page: perPage,
      q: q
    }
  }).then(res => res.data.data.results)
}

// 根据id获取文章详情
export const getArticleById = id => {
  return request({
    method: 'GET',
    url: '/v1_0/articles/' + id
  })
}
